<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>11.异常.html</title>
</head>
<body>
    <script>
        /*
        错误：系统抛出的错误

           Error：所有错误的父对象 
            ReferenceError  引用变量不存在的错误
            TypeError       数据类型不正确
            RangeError      数据不在其中范围
            SyntaxError    语法错误
        */
    //    const  referenceError= new ReferenceError();
    // const  typeError = new TypeError();
    // console.log(typeError);
    //    console.log(typeError instanceof TypeError); // true
    //    console.log(typeError instanceof Error); // true
    //    console.log(typeError instanceof ReferenceError); // false

    // 引用变量不存在的错误
    // console.log(a);
    // 数据类型不正确
    // const obj = null;
    // obj.say()

    // function fun() {
    //     fun()
    // }

    // fun();
    // try {
    //     console.log(a);

    // }catch(e) {
    //     console.dir(e);
    //     console.error(e.stack);  // 打印异常栈信息

    // }
  
    // console.log("xxxx");

    class MyError extends Error {
        constructor(message) {
            super(message)

        }

    }

    const n = prompt("请输入一个数值！")
    try {
        if(n == 1) {
            throw new MyError("输入的内容不可以是1。。。。")
        }
    } catch (error) {
        console.error(error.message);
        
    } finally {
        console.log("xxxxxx");
    }
   

   



    // const myError = new MyError("自定义异常")
    // console.log(myError);

    </script>
    
</body>
</html>